/**
 * 环境变量使用示例
 * 这个文件展示了如何在项目中使用环境变量
 */

import { env, debugLog, isDevelopment, getCurrentMode, getEnvType } from './env'

// 示例 1: 在 API 请求中使用环境变量
export const apiConfig = {
  baseURL: env.API_BASE_URL,
  timeout: env.API_TIMEOUT,
  headers: {
    'Content-Type': 'application/json'
  }
}

// 示例 2: 根据环境变量配置不同的行为
export const appConfig = {
  title: env.APP_TITLE,
  version: env.APP_VERSION,
  debug: env.APP_DEBUG,
  environment: env.APP_ENV
}

// 示例 3: 在开发环境下启用调试日志
export const initApp = () => {
  const currentMode = getCurrentMode()
  const envType = getEnvType()

  if (isDevelopment) {
    debugLog('应用初始化', appConfig)
  }

  console.log(`应用 ${env.APP_TITLE} v${env.APP_VERSION} 启动`)
  console.log(`当前环境: ${env.APP_ENV}`)
  console.log(`当前模式: ${currentMode}`)
  console.log(`环境类型: ${envType}`)
}

// 示例 4: 第三方服务配置
export const thirdPartyConfig = {
  github: {
    clientId: env.GITHUB_CLIENT_ID
  },
  google: {
    clientId: env.GOOGLE_CLIENT_ID
  }
}

// 示例 5: 文件上传配置
export const uploadConfig = {
  maxSize: env.UPLOAD_MAX_SIZE,
  allowedTypes: env.UPLOAD_ALLOWED_TYPES
}
